Exemple 6 : Spécifier une table de fichiers joints
Dans cet exemple, nous voyons comment spécifier une table de fichiers joints. Dans ce cas, un enregistrement dans le module Prêts/Emprunts couvre le prêt d'un certain nombre d'objets dans le module Catalogue :
Objet : (Objets prêtés/empruntés) est relié au module Catalogue et est une table de fichiers joints. Notes : (Objets prêtés/empruntés) est un tableau associé dans le module Prêts/Emprunts.
Les champs chargés sont :
Champs |
Nom back-end |
---|---|
Prêt/emprunt | InfDirection
|
But du prêt/emprunt | InfLoanPurpose
|
Date de début | DatLoanCommencementDate
|
Date d'échéa. prévue | DatLoanDueDate
|
Objets | ObjObjectsLoanedRef_tab
|
Notes | ObjObjectNotes_tab
|
Pour des raisons de présentation uniquement, les données d'importation ci-dessous sont présentées avec les titres de colonnes apparaissant verticalement plutôt qu'horizontalement. La première ligne de tout fichier délimité par des tabulations ou virgules doit inclure les noms de colonnes. La disposition appropriée est :
InfDirection
|
InfLoanPurpose
|
DatLoanCommencementDate
|
Sortant | Le but du prêt est un travail de recherche. | 15-Jan-06 |
Entrant | L'emprunt est pour une exposition à venir. | 10-Mar-06 |
Les données d'importation sont :
Nom de colonne (doit apparaître comme première ligne du fichier de données d'importation) |
Enregistrement 1 |
Enregistrement 2 |
---|---|---|
InfDirection
|
Sortant | Entrant |
InfLoanPurpose
|
Le but du prêt est un travail de recherche. | L'emprunt est pour une exposition à venir. |
DatLoanCommencementDate
|
15-Jan-06 | 10-Mar-06 |
DatLoanDueDate
|
15-Jan-07 | 10-Jul-06 |
ObjObjectsLoanedRef_tab(1).TitAccessionNo
|
1996.011.024
|
1995.112.138
|
ObjObjectNotes_tab(1)
|
Une œuvre prêtée par M. Tanaka | |
ObjObjectsLoanedRef_tab(2).TitAccessionNo
|
1996.011.042
|
1995.112.145
|
ObjObjectNotes_tab(2)
|
||
ObjObjectsLoanedRef_tab(3).TitAccessionNo
|
1995.112.061
|
|
ObjObjectNotes_tab(3)
|
Une donation de M. Sutcliffe |
ObjObjectsLoaned est à la fois un champ de fichier joint (ce qui nous donne ObjObjectsLoanedRef) et une table (ce qui nous donne ObjObjectsLoanedRef_tab).
Ainsi ObjObjectsLoanedRef_tab(1).TitAccessionNo :
- Précise la première ligne de la table Objets prêts/empruntés.
- Lorsque l'enregistrement 1 est traité, une recherche sera amorcée dans le module Catalogue pour trouver un Numéro d'accession égal à
1996.011.024
.S’il est trouvé, il sera joint à la première ligne de Objet : (Objets prêtés/empruntés).
ObjObjectNotes_tab(1)
spécifie la première ligne de Notes : (Objets prêtés/empruntés).
Le XML pour cet exemple est :
<?xml version="1.0" encoding="UTF-8"?>
<table>
<!-- Premier enregistrement -->
<tuple>
<!--Premièrement, les champs atomes dans le module Prêts/Emprunts sont spécifiés-->
<atom name="InfDirection">Sortant</atom>
<atom name="InfLoanPurpose"Le but du prêt est un travail de recherche.</atom>
<atom name="DatLoanCommencementDate">15 Janvier 2006</atom>
<atom name="DatLoanDueDate">15 Janvier 2007</atom>
<!--Puis le champ de fichier joint Objet : (Objets prêtés/empruntés) est spécifié. Ce champ crée un lien vers un ou plusieurs enregistrements dans le module Catalogue (c'est donc une table).-->
<table name="ObjObjectsLoanedRef_tab">
<tuple>
<atom name="TitAccessionNo">1996.011.024</atom>
</tuple>
<tuple>
<atom name="TitAccessionNo">1996.011.042</atom>
</tuple>
<tuple>
<atom name="TitAccessionNo">1995.112.061</atom>
</tuple>
</table>
<!-- Ceci spécifie la table Notes : (Objets prêtés/empruntés) dans le module Prêts/Emprunts. Gardez à l'esprit que s'il y a plusieurs lignes dans une table, aucune valeur dans la première ligne (par exemple) mais des valeurs dans les suivantes, le premier tuple devra être spécifié avec une valeur vide. N'oubliez pas que lorsque vous spécifiez des tables, il ne peut y avoir qu'une seule valeur par tuple.-->
<table name="ObjObjectNotes_tab">
<tuple>
<atom>Une œuvre prêtée par M. Tanaka</atom>
</tuple>
<tuple>
</tuple>
<tuple>
<atom>Une donation de M. Sutcliffe</atom>
</tuple>
</table>
</tuple>
<!-- Deuxième enregistrement -->
<tuple>
<atom name="InfDirection">Entrant</atom>
<atom name="InfLoanPurpose">L'emprunt est pour une exposition à venir.</atom>
<atom name="DatLoanCommencementDate">10 Mars 2006</atom>
<atom name="DatLoanDueDate">10 Juillet 2006</atom>
<table name="ObjObjectsLoanedRef_tab">
<tuple>
<atom name="TitAccessionNo">1995.112.138</atom>
</tuple>
<tuple>
<atom name="TitAccessionNo">1995.112.145</atom>
</tuple>
</table>
</tuple>
</table>